package cn.ffcs.security.service;

import cn.ffcs.base.service.IBaseService;
import cn.ffcs.security.model.User;
import cn.ffcs.security.web.UserContext;

/**
 * 
 * USER 服务接口<br/> <table>
 * <tr>
 * <td>负责人/principal: </td>
 * <td colspan="2">liuzhh</td>
 * <tr>
 * <td>修改记录/revision:</td>
 * <td colspan="2"></td>
 * </tr>
 * <tr>
 * <td>日期:</td>
 * <td>修改人:</td>
 * <td>修改说明:</td>
 * </tr>
 * <tr>
 * <td></td>
 * <td></td>
 * <td></td>
 * </tr>
 * </table>
 * @author liuzhh
 * @version $Id$
 */
public interface IUserService<U extends User> extends IBaseService<U>{
    
    /**
     * 
     * 校验用户名和密码
     * @param username
     * @param password
     * @return
     */
    public boolean validUser(String username,String password);
    /**
     * 
     * 校验用户信息
     * @param username
     * @param password
     * @return
     */
    public boolean validUser(U user);
    
    /**
     * 
     * 校验用户信息
     *   返回值：
     *      1：操作成功
     *      -1:用户名不存在
     *      -2:用户名和密码不匹配或密码不正确
     *      -3:用户名和MISKEY不匹配
     * @param username
     * @param password
     * @return
     */
    public int checkUser(U user);
    
    public UserContext getUserContext();
}


